home *** CD-ROM | disk | FTP | other *** search
/ Commodore Disk User Volume 3 #10 / Commodore_Disk_User_Vol.3_10_1990_-.d64 / database 78 (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  21KB  |  725 lines

  1. 1 print"[147]":poke808,234:rem * disable run/stop  & list *
  2. 2 rem * ram based disk filing system * database 78 * adapted by c f smith
  3. 3 rem * for susan, james, oliver, & david with help from paul
  4. 4 close15:open15,8,15:n$="[206]ot [206]amed"
  5. 5 poke53280,0:poke53281,0: rem ** screen border & background colours **
  6. 6 printchr$(14):printchr$(8)
  7. 7 l%=0:f1=0:fl%=0
  8. 8 gosub 549
  9. 9 gosub281
  10. 10 print"[158][193] - [211]tart a new file"
  11. 11 print"[194] - [204]oad or [213]nload a file"
  12. 12 print"[195] - [211]ave the file (archive)"
  13. 13 print"[196] - [196]isplay the file"
  14. 14 print"[197] - [193]dd records"
  15. 15 print"[198] - [193]lter a record"
  16. 16 print"[199] - [211]ort by any field"
  17. 17 print"[159][200] - [211][213][194] [205][197][206][213] 1[146][158] ([211]earch database)"
  18. 18 print"[201] - [196]isplay a record ([196]elete option)"
  19. 19 print"[202] - [213]p-date disk file"
  20. 20 print"[203] - [196]elete any file from any disk"
  21. 21 print"[204] - [197]xit system"
  22. 22 print"[218] - [196]irectory & [215]rite [208]rotect (any disk)";
  23. 23 print:print"[158][211]elect option       [159]"l%"[158][210]ecords present":fl%=l%:sl%=l%
  24. 24 get q$:if q$<"a" or q$>"l" andq$<>"z"then24
  25. 25 if q$="a" and f1=1 then 24
  26. 26 if q$="b" and f1=1 then 246
  27. 27 ifq$>"b"andq$<"k"andl%=0thenprint"[147] [159][206]o file present":gosub506:goto 9
  28. 28 if q$="a" then gosub 48
  29. 29 if q$="b" then gosub 67
  30. 30 if q$="c" then gosub 81
  31. 31 if q$="d" then gosub 94
  32. 32 if q$="e" then gosub 121
  33. 33 if q$="f" then gosub 138
  34. 34 if q$="g" then gosub 161
  35. 35 if q$="h" then 180
  36. 36 if q$="i" then gosub 215
  37. 37 if q$="j" then gosub 449
  38. 38 if q$="k" then gosub 464
  39. 39 if q$="l" goto 42
  40. 40 if q$="z" then gosub 660:gosub693
  41. 41 goto 9
  42. 42 print"[147]":print"[158]  [200]ave you forgotten to [213]pdate or [211]ave":print
  43. 43 printtab(12)"your disk file ?"
  44. 44 printtab(11)"[203]ey [195][146] to [195]ontinue":gosub 276
  45. 45 rem * enable run/stop restore *
  46. 46 print"[147]":poke808,237:printchr$(142):printchr$(9):close15:sys64738
  47. 47 rem ** start file routine **
  48. 48 print chr$(147)
  49. 49 print:print"    [158][205]aximum number of records is 300":print:print
  50. 50 printtab(19)"&":print
  51. 51 print:print"     [206]umber of fields is fixed at 4":print
  52. 52 print:print"          [193]ny key to [195]ontinue[146]"
  53. 53 get d$:if d$="" then 53
  54. 54 if d$=chr$(32) then 55
  55. 55 nf%=4:fs%=300
  56. 56 nf%=nf%-1:dim a$(nf%,fs%)
  57. 57 print chr$(147)
  58. 58 for f=0 to nf%
  59. 59 print"  [158][197]nter field heading";f+1:print
  60. 60 printtab(19)"<--** [213]p to arrow **[146]"
  61. 61 gosub510:a$(f,0)=v$:print
  62. 62 next
  63. 63 gosub121
  64. 64 f1=1
  65. 65 return
  66. 66 rem ** load file routine **
  67. 67 gosub238
  68. 68 open 6,8,6,"0:"+n$+",s,r":print:print" [211]earching...!"
  69. 69 gosub367:if a>=20 then gosub 506:goto 79
  70. 70 print:print" [204]oading.....";n$"[146] file"
  71. 71 input#6,fs%,nf%,l%
  72. 72 dim a$(nf%,fs%)
  73. 73 for r=0 to l%
  74. 74 for f=0 to nf%
  75. 75 input#6,a$(f,r)
  76. 76 next:next
  77. 77 f1=1
  78. 78 close6
  79. 79 return
  80. 80 rem ** save file routine **
  81. 81 gosub238
  82. 82 open 6,8,6,"@:"+n$+",s,w"
  83. 83 print:print" [211]aving.....";n$"[146] file"
  84. 84 gosub 367:if a>=20 and z$="r" then gosub 475:goto 92
  85. 85 if a>=20 then gosub 506:goto 92
  86. 86 print#6,fs%:print#6,nf%:print#6,fl%
  87. 87 for r=0 to fl%
  88. 88 for f=0 to nf%
  89. 89 print#6,a$(f,r)
  90. 90 next:next
  91. 91 close6
  92. 92 return
  93. 93 rem ** display file routine **
  94. 94 c=1:s=1:j%=1
  95. 95 print chr$(147):print"[145][158]     [203]ey [213] for [213][208] or [203]ey [196] for [196][207][215][206]     [146]";
  96. 96 print"        [211]pace [194]ar  for [205][193][201][206] [205][197][206][213]        [146]";
  97. 97 printtab(11)"[210]ecord [206]umber";j%
  98. 98 ss=s:if ss>fl% then ss=fl%
  99. 99 for r=s to ss:print""a$(0,0):print
  100. 100 printtab(1)a$(0,r):print
  101. 101 print""a$(c,0):print
  102. 102 printtab(1)a$(c,r):print
  103. 103 print""a$(c+1,0):print
  104. 104 printtab(1)a$(c+1,r):print
  105. 105 print""a$(c+2,0):print
  106. 106 printtab(1)a$(c+2,r)
  107. 107 getk$:ifk$<>chr$(32)andk$<>"u"andk$<>"d"then107
  108. 108 if k$=chr$(32) then 119
  109. 109 if k$="u" then s=s+1
  110. 110 if k$="u" then j%=j%+1
  111. 111 if k$="d" then s=s-1:if s<1 then s=l%:if sl%<l%thens=sl%
  112. 112 if k$="d" then j%=j%-1:if j%<1 thenj%=l%:ifj%>sl%thenj%=sl%
  113. 113 if c<1 then c=nf%
  114. 114 if c>nf% then c=1
  115. 115 if s<1 then s=(int(fl%/2)*2)+1
  116. 116 if s>fl% then s=1
  117. 117 if j%>fl% then j%=1
  118. 118 goto95
  119. 119 return
  120. 120 rem ** add records routine **
  121. 121 print chr$(147):if l%>=fs% then print" [158][198]ile full":gosub506:goto135
  122. 122 l%=l%+1
  123. 123 poke53280,11:print"[145] [158][212]ype '[159][197][216][201][212][158]' to finish entry of records"
  124. 124 print
  125. 125 print"            [210]ecord [206]umber ";l%
  126. 126 print"[159]<----[212]wo lines, maximum (78 char's)---->[146]";
  127. 127 print"* [203]eep cursor on first or second lines *[146]";
  128. 128 f=-1
  129. 129 f=f+1
  130. 130 print" [158]";a$(f,0):print
  131. 131 gosub348:a$(f,l%)=k$
  132. 132 ifa$(f,l%)="[197][216][201][212]"then l%=l%-1:goto135
  133. 133 if f<nf% then 129
  134. 134 if l%<fs% then 121
  135. 135 if f1=0 and l%=0 then run
  136. 136 poke53280,0:return
  137. 137 rem ** modify field routine **
  138. 138 gosub263
  139. 139 z$="":print"[147]":poke53280,11
  140. 140 print"[145]  * [210]ecord containing selected field * [146]":print
  141. 141 for c=0 to nf%
  142. 142 print""a$(c,0):print
  143. 143 printtab(1)a$(c,r)
  144. 144 next
  145. 145 print"[159]----------------------------------------";
  146. 146 gosub 255
  147. 147 print "[145][145][145][145][159] ** [193]mend current contents of field  ** [146]";
  148. 148 print"* [203]eep cursor on first or second lines *"
  149. 149 printtab(1)a$(f,r)
  150. 150 if len(a$(f,r))>38then152
  151. 151 poke198,0:poke19,1:input"[145] [146][158]";k$:poke19,0:goto 153
  152. 152 poke198,0:poke19,1:input"[145][145] [146][158]";k$:poke19,0
  153. 153 if len(k$)>78 then k$=left(k$,78)
  154. 154 if len(k$)<1 then 159
  155. 155 a$(f,r)=k$:printchr$(147):print"   [193]lter another field ? [203][197][217] [217][146] or [206][146]"
  156. 156 get x$:ifx$<>"y"andx$<>"n"then156
  157. 157 ifx$="y"then 139
  158. 158 ifx$="n"then 159
  159. 159 poke53280,0:return
  160. 160 rem ** sort file routine  main menu **
  161. 161 gosub254
  162. 162 rem **
  163. 163 if fl%<2 then 178
  164. 164 print chr$(147):print" [211]orting by  ";a$(f,0)
  165. 165 n%=fl%
  166. 166 n%=(n%+2)/3
  167. 167 for d=n%+1 to n%*2
  168. 168 for e=d to fl% step n%
  169. 169 for r=e to d step -n%
  170. 170 if a$(f,r)>a$(f,r-n%) then 175
  171. 171 for c=0 to nf%
  172. 172 k$=a$(c,r):a$(c,r)=a$(c,r-n%):a$(c,r-n%)=k$
  173. 173 next
  174. 174 next
  175. 175 next e
  176. 176 next
  177. 177 if n%>1 then 166
  178. 178 return
  179. 179 rem ** search/shrink file menu **
  180. 180 gosub361
  181. 181 print"   [158][211]hrink a file and [211]earch any field"
  182. 182 print"  [205] - <> '$'    [206] - = '$'"
  183. 183 print"  [207] - >= '$'    [208] - < '$'"
  184. 184 print"  [209] - [195]haracter group"
  185. 185 print"==============[207][212][200][197][210] [207][208][212][201][207][206][211][146]============="
  186. 186 print"  [210] - [211]ave sub-file"
  187. 187 print"  [211] - [196]isplay sub-file or m/f if absent"
  188. 188 print"  [212] - [211]ort sub-file by any field"
  189. 189 print"  [213] - [196]elete sub-file from main file  &       return to main menu"
  190. 190 print"  [214] - [204]ist first fields"
  191. 191 print"  [159][215] - [205][193][201][206] [205][197][206][213][146][158] ** destroys sub-file"
  192. 192 print"  [216] - [195]heck free space in file"
  193. 193 print"  [217] - [211]end to [159]";sp$"[158] printer"
  194. 194 print"  [218] - [196]irectory display (any disk)
  195. 195 [153]
  196. 196 [153]"(NULL)elect option   open"sl%"sys(NULL)ecords in sub-filesys":fl%[178]sl%
  197. 197 [161] z$:[139] z$[179]"m" [176] z$[177]"z" [167] 197
  198. 198 [139] z$[178]"m" [167] [141] 289
  199. 199 [139] z$[178]"n" [167] [141] 289
  200. 200 [139] z$[178]"o" [167] [141] 289
  201. 201 [139] z$[178]"p" [167] [141] 289
  202. 202 [139] z$[178]"q" [167] [141] 289
  203. 203 [139] z$[178]"r" [167] [141] 81
  204. 204 [139] z$[178]"s" [167] [141] 94
  205. 205 [139] z$[178]"t" [167] [141] 489
  206. 206 [139] z$[178]"u" [137] 340
  207. 207 [139] z$[178]"v" [167] [141] 404
  208. 208 [139] z$[178]"w" [167] 9
  209. 209 [139] z$[178]"x" [167] [141] 353
  210. 210 [139] z$[178]"y" [175] sp$[178]"(NULL)(NULL)atn(NULL)" [167] [141] 375
  211. 211 [139] z$[178]"y" [175] sp$[178]"lenpeek(NULL)" [167] [141] 559
  212. 212 [139] z$[178]"z" [167] [141] 660:[141] 693
  213. 213 [137] 180
  214. 214 [143] ** delete record routine **
  215. 215 z$[178]"":[141]263
  216. 216 [153] [199](147)
  217. 217 [153]"on (NULL)vallen(NULL)(NULL)str$ str$right$(NULL)(NULL)(NULL)atn(NULL) **** (NULL)right$(NULL)left$closestr$val(NULL)val(NULL)valclose(NULL)(NULL)(NULL)right$(NULL)(NULL) wait"
  218. 218 [129] c[178]0 [164] nf%
  219. 219 [153]""a$(c,0)"wait":[153]
  220. 220 [153][163]1)a$(c,r):[153]
  221. 221 [130]
  222. 222 [153]"openstr$elete this record ?wait ((NULL)/(NULL))"
  223. 223 [161] k$:[139] k$[179][177]"n" [175] k$[179][177]"y" [167] 223
  224. 224 [139] k$[178]"n" [167] 236
  225. 225 [139] k$[178]"y" [167] [153]"loadsys  atnre you sure ? ((NULL)/(NULL))"
  226. 226 [161] k$:[139] k$[179][177]"n" [175] k$[179][177]"y" [167] 226
  227. 227 [139] k$[178]"n" [167] 236
  228. 228 [139] k$[178]"y" [167] 229
  229. 229 [139] l%[178]1 [167] 235
  230. 230 [129] f[178]0 [164] nf%
  231. 231 a$(f,r)[178]a$(f,r[170]1)
  232. 232 [130]
  233. 233 r[178]r[170]1
  234. 234 [139] r[179]l% [167] 230
  235. 235 l%[178]l%[171]1
  236. 236 [142]
  237. 237 [143] ** file name routine **
  238. 238 [141] 684
  239. 239 [153]"   sysvalnter the (NULL)(NULL)right$(NULL)(NULL)valwait name for the file":[153]
  240. 240 [153]"                 <--** (NULL)p to arrow *** wait"
  241. 241 [141]348
  242. 242 n$[178]k$
  243. 243 [139] [195](n$)[177]16[167][153]"load":[153][163]14)"(NULL)oo long !":[153]:[137]239
  244. 244 [142]
  245. 245 [143] ** belt and braces space bar protection routine **
  246. 246 [153]"loadsys lenautionclose!: (NULL)ption destroyscloseloaded file"
  247. 247 [153]:[153]
  248. 248 [153]" *** (NULL)(NULL)val(NULL)(NULL)close(NULL)(NULL)atnlenvalclosepeekatn(NULL)closecloseasc(NULL)(NULL)close(NULL)atnright$(NULL)close(NULL)val(NULL)(NULL) *** ":[153]
  249. 249 [153]:[153]"        (NULL)ress 'len' to clear filewait"
  250. 250 [161] k$:[139] k$[179][177]"c" [175] k$[179][177][199](32) [167] 250
  251. 251 [139] k$[178][199](32) [167] 9
  252. 252 [139] k$[178]"c" [167] [138]
  253. 253 [143] ** find field routine **
  254. 254 [153] [199](147)
  255. 255 f[178][171]1:[153]" sys(NULL)perate on which field? (give heading)":[153]
  256. 256 [141]348
  257. 257 f[178]f[170]1
  258. 258 [139] k$[178][200](a$(f,0),[195](k$)) [167] 261
  259. 259 [139] f[179]nf% [167] 257
  260. 260 [153] [199](147):[153]" sys(NULL)o such field":[141]276:[137]254
  261. 261 [142]
  262. 262 [143] ** find record routine **
  263. 263 [153] [199](147):r[178]0
  264. 264 [139] q$[178]"f" [176] q$[178]"i" [167] f[178]0
  265. 265 [153]"  syschr$ive record entry under ";a$(f,0)"wait":[153]
  266. 266 [141]348
  267. 267 r[178]r[170]1
  268. 268 [139] k$[178][200](a$(f,r),[195](k$)) [167] 274
  269. 269 [139] r[179]fl% [167] 267
  270. 270 [153][199](147):[153]" sys(NULL)o such record ** (NULL)ey 'len' to try again "
  271. 271 [139] q$[178]"f"[176]q$[178]"i"[175]z$[178]""[167][141] 276
  272. 272 [139] z$[178]"y"[167][141]688
  273. 273 [137] 263
  274. 274 [142]
  275. 275 [143] ** press space bar routine **
  276. 276 [153]:[153]"  sys***** (NULL)(NULL)atnlenvalclosepeekatn(NULL)closeasc(NULL)(NULL)close(NULL)atnright$(NULL)close(NULL)val(NULL)(NULL) *****"
  277. 277 [161] k$:[139] k$[179][177]"c" [175] k$[179][177][199](32) [167] 277
  278. 278 [139] k$[178]"c" [167] [142]
  279. 279 [139] k$[178][199](32) [167] 9
  280. 280 [143] ** title/status subroutine **
  281. 281 [153]"load"
  282. 282 [153]"onsys str$atn(NULL)atnpeekatn(NULL)val 78   (NULL)atnright$(NULL)  (NULL)val(NULL)(NULL)   str$atn(NULL)atnpeekatn(NULL)val 78 ";
  283. 283 [153]"    (NULL)atn(NULL) peekatn(NULL)valstr$ * str$right$(NULL)(NULL) * ascright$(NULL)right$(NULL)chr$ (NULL)(NULL)(NULL)(NULL)val(NULL)    "
  284. 284 [139] f1[178]0 [167] [153]"open(NULL)o file presentwait":[153]
  285. 285 [139]f1[178]1[167][153]"openascile loaded is ";[199](18);[199](158)" ";n$" "[199](146):[153]
  286. 286 [139] f1[178]1 [167] [153][163]8)"open(NULL)op limit is";fs%"records":[153]
  287. 287 [142]
  288. 288 [143] ** search director routine **
  289. 289 [141]479:[139]ff$[178]" sys(NULL)o such field"[167] 303
  290. 290 [153]:[153]" sys(NULL)earch to operate on  ";a$(f,0):[153]
  291. 291 [139] z$[179]"q" [167] [153]" chr$ive search str$atum/valntity":[153]
  292. 292 [139] z$[178]"q" [167] [153]" chr$ive character group":[153]
  293. 293 [141]348:b$[178]k$:l2%[178]0
  294. 294 [153]:[153]"       (NULL)earching for....";b$"wait"
  295. 295 [139] z$[178]"m" [167] [141] 305
  296. 296 [139] z$[178]"n" [167] [141] 310
  297. 297 [139] z$[178]"o" [167] [141] 315
  298. 298 [139] z$[178]"p" [167] [141] 320
  299. 299 [139] z$[178]"q" [167] [141] 325
  300. 300 [139] l2%[177]0 [167] sl%[178]l2%:[139] l2%[178]0 [167] sl%[178]fl%
  301. 301 [139]l2%[178]0[167][153]"load":[153]" (NULL)earch is negativesys":[141]475
  302. 302 [139]l2%[177]0[167][153]"load":[153]" (NULL)earch is positivesys":[141]475
  303. 303 [142]
  304. 304 [143] ** search <> **
  305. 305 [129] r[178]1 [164] sl%
  306. 306 [139] a$(f,r)[179][177]b$ [167] l2%[178]l2%[170]1:[141]335
  307. 307 [130]
  308. 308 [142]
  309. 309 [143] ** search = **
  310. 310 [129] r[178]1 [164] sl%
  311. 311 [139] a$(f,r)[178]b$ [167] l2%[178]l2%[170]1:[141]335
  312. 312 [130]
  313. 313 [142]
  314. 314 [143] ** search >= **
  315. 315 [129] r[178]1 [164] sl%
  316. 316 [139] a$(f,r)[177][178]b$ [167] l2%[178]l2%[170]1:[141]335
  317. 317 [130]
  318. 318 [142]
  319. 319 [143] ** search < **
  320. 320 [129] r[178]1 [164] sl%
  321. 321 [139] a$(f,r)[179]b$ [167] l2%[178]l2%[170]1:[141]335
  322. 322 [130]
  323. 323 [142]
  324. 324 [143] ** search for substring **
  325. 325 lc[178][195](b$)
  326. 326 [129] r[178]1 [164] sl%
  327. 327 lt[178][195](a$(f,r))
  328. 328 [139] lc[177]lt [167] 332
  329. 329 [129] k[178]1 [164] lt[171]lc[170]1
  330. 330 [139] b$[178][202](a$(f,r),k,lc) [167] l2%[178]l2%[170]1:[141]335:[137]332
  331. 331 [130]
  332. 332 [130] r
  333. 333 [142]
  334. 334 [143] ** move record routine **
  335. 335 [129] c[178]0 [164] nf%
  336. 336 k$[178]a$(c,r):a$(c,r)[178]a$(c,l2%):a$(c,l2%)[178]k$
  337. 337 [130]
  338. 338 [142]
  339. 339 [143] ** delete sub file routine **
  340. 340 [139] sl%[178]l% [167] 345
  341. 341 [129] r[178]sl%[170]1 [164] l%
  342. 342 [129] f[178]0 [164] nf%
  343. 343 a$(f,r[171]sl%)[178]a$(f,r)
  344. 344 [130]:[130]
  345. 345 l%[178]l%[171]sl%:s%[178]10
  346. 346 [137] 9
  347. 347 [143] ** input validation routine **
  348. 348 [151]198,0:[151]19,1:k$[178]"":[133]" ";k$:[153]:[143] clear k/b'd & suppress "?"
  349. 349 [151]19,0:[139] k$[178]"" [167] 348:[143] * reset "?" on input *
  350. 350 [139] [195](k$)[177]78 [167] k$[178][200](k$,78)
  351. 351 [142]
  352. 352 [143] ** bytes free routine **
  353. 353 [153] [199](147)
  354. 354 [153]" sys(NULL)lease wait a moment, right$'m checking the":[153]
  355. 355 [153][163]8)"free space in the file."
  356. 356 x[178][184](0)[171]([180]([184](0))[179]0)[172]65535
  357. 357 [153]:[153]"open (NULL)he number of bytes free iswait";x:[153]:y%[178][181](x[173]300)
  358. 358 [153]" or space for approx'y";y%;"full records."
  359. 359 [141] 475:[142]
  360. 360 [143] ** sub menu title **
  361. 361 [153]"load"
  362. 362 [153]"onsysstr$atn(NULL)atnpeekatn(NULL)val 78   open(NULL)(NULL)peek (NULL)val(NULL)(NULL) (NULL)(NULL)valwaitsys   str$atn(NULL)atnpeekatn(NULL)val 78 wait";
  363. 363 [153]"    (NULL)atn(NULL)closepeekatn(NULL)valstr$close* str$right$(NULL)(NULL) * ascright$(NULL)right$(NULL)chr$close(NULL)(NULL)(NULL)(NULL)val(NULL)wait"
  364. 364 [153]"========================================"
  365. 365 [142]
  366. 366 [143] ** read error channel routine **
  367. 367 [132]15,a,b$,c,d
  368. 368 [139] a[179]20 [167] 373
  369. 369 [153]"load":[153]"valrror (NULL)o."a:[153]
  370. 370 [153]""b$"wait":[153]
  371. 371 [153]"(NULL)rack (NULL)o."c:[153]
  372. 372 [153]"peeklock ((NULL)ector) (NULL)o."d:[160] 6
  373. 373 [142]
  374. 374 [143] ** send to star printer ** file & on to record **
  375. 375 [153][199](147):[153][163]8)"sys(NULL)rint a ascile or (NULL)ecord ?":[153]
  376. 376 [153][163]13)[199](5)"(NULL)ey  ascwait  or  (NULL)wait"
  377. 377 [161] u$:[139] u$[179][177]"f" [175] u$[179][177]"r" [167] 377
  378. 378 [139] u$[178]"f" [167] [141] 515:[137] 380
  379. 379 [139] u$[178]"r" [167] q$[178]"i":[141] 263:[141] 515:[137] 424
  380. 380 [141] 425
  381. 381 [139] w$[178]"y" [167] 590
  382. 382 [139] w$[178]"e" [167] 180
  383. 383 [153]"load":[153]:[153]"  sys(NULL)lease do not disturb, right$'m printing!wait"
  384. 384 c[178]1:s[178]1:ss[178]s[170]fl%:[139] ss[177]fl% [167] ss[178]fl%:t[178]sl%
  385. 385 [159] 5,4:[157] 5, pr$:[152]5,[199](17)"              ";n$" file":[152]5
  386. 386 [129] r[178]s [164] ss
  387. 387 [152]5,[199](17);a$(0,0)
  388. 388 [152]5:[152]5,[199](17)" ";a$(0,r)
  389. 389 [152]5
  390. 390 [152]5,[199](17);a$(c,0):[152]5:[152]5,[199](17)" ";a$(c,r):[152]5
  391. 391 [152]5,[199](17);a$(c[170]1,0):[152]5:[152]5,[199](17)" ";a$(c[170]1,r):[152]5
  392. 392 [152]5,[199](17);a$(c[170]2,0):[152]5:[152]5,[199](17)" ";a$(c[170]2,r):[152]5
  393. 393 [139] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](0) [167] 398
  394. 394 [139] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](1) [167] 398
  395. 395 [139] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](2) [167] 398
  396. 396 [139] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](6) [167] 398
  397. 397 [152]5,"========================================":[137] 399
  398. 398 [152]5,"                            ========================"
  399. 399 [152]5:[130]
  400. 400 [152]5,[199](17)" (NULL)otal number of records in file is"t
  401. 401 [152]5:[152]5,[199](27);[199](64):[143] * reset *
  402. 402 [160] 5:[142]
  403. 403 [143] *** list first fields ***
  404. 404 s[178]1
  405. 405 [153][199](147):[153]"on          sysascright$(NULL)(NULL)(NULL)closeascright$val(NULL)str$ (NULL)right$(NULL)(NULL)right$(NULL)chr$"
  406. 406 [153]"             (NULL)ey (NULL) or (NULL)eyclosestr$wait"
  407. 407 [153]"         (NULL)(NULL)atnlenvalclosepeekatn(NULL)closeasc(NULL)(NULL)close(NULL)(NULL)peekclose(NULL)val(NULL)(NULL)"
  408. 408 [153]"========================================";
  409. 409 [153]" ";a$(0,0);"   valight at a timewait"
  410. 410 [153]"========================================";
  411. 411 ss[178]s[170]7
  412. 412 [139] ss[177]fl% [167] ss[178]fl%
  413. 413 [129] r[178]s [164] ss:[153]" ";a$(0,r)
  414. 414 [130]
  415. 415 [161] k$:[139] k$[179][177][199](32)[175]k$[179][177]"u"[175]k$[179][177]"d"[167]415
  416. 416 [139] k$[178][199](32) [167] 422
  417. 417 [139] k$[178]"u" [167] s[178]s[170]8
  418. 418 [139] k$[178]"d" [167] s[178]s[171]8:[139] ss[179]8 [167] ss[178]sl%
  419. 419 [139] s[179]1 [167] s[178]([181](fl%[173]8)[172]8)[170]1
  420. 420 [139] s[177]fl% [167] s[178]1
  421. 421 [137] 405
  422. 422 [142]
  423. 423 [143] *** print a record ***
  424. 424 [141] 425:[137] 431
  425. 425 [153][199](147):[153]"   sysleft$ave you switched on my printer ?":[153]
  426. 426 [153]"     right$ will  len(NULL)atn(NULL)left$ wait if you haven't":[153]
  427. 427 [153][163]16)[199](30)"(NULL)ey  (NULL)":[153]
  428. 428 [153][163]13)[199](5)" val to val(NULL)lenatn(NULL)val wait"
  429. 429 [161] w$:[139] w$[179][177]"e" [175] w$[179][177]"y" [167] 429
  430. 430 [142]
  431. 431 [139] w$[178]"y" [167] 434
  432. 432 [139] w$[178]"e" [167] 180
  433. 433 [143] * print a record *
  434. 434 [153]"load":[153]:[153]"  sys(NULL)lease do not disturb, right$'m printing!wait"
  435. 435 [159] 5,4:[129] c[178]0 [164] nf%
  436. 436 [157] 5, pr$
  437. 437 [152]5,[199](17);a$(c,0)
  438. 438 [152]5:[152]5,[199](17)" ";a$(c,r)
  439. 439 [130]
  440. 440 [139] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](0) [167] 445
  441. 441 [139] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](1) [167] 445
  442. 442 [139] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](2) [167] 445
  443. 443 [139] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](6) [167] 445
  444. 444 [152]5,"========================================":[137] 446
  445. 445 [152]5,"                            ========================"
  446. 446 [152]5,[199](27);[199](64):[143] * reset *
  447. 447 [160] 5:[142]
  448. 448 [143] ** update disk * save & replace routine * (includes routine at 3010)*
  449. 449 [153]"load":[153][163]15)[199](5)" (NULL)atn(NULL)(NULL)right$(NULL)chr$ wait"
  450. 450 [153]"sys  left$atn(NULL)valclose(NULL)(NULL)(NULL)closelenleft$vallen(NULL)valstr$close(NULL)left$valclose(NULL)(NULL)right$(NULL)valclose(NULL)(NULL)(NULL)(NULL)vallen(NULL) ? wait"
  451. 451 [153]" sys (NULL)his is a save and replace facility. wait"
  452. 452 [153]" sys(NULL)ake sure that your original file diskwait"
  453. 453 [153]" sysis in drive '0'. (NULL)ey 'len' to lenontinue !wait"
  454. 454 [153][163]13)[199](5)" val to val(NULL)lenatn(NULL)val wait"
  455. 455 [161] p$:[139] p$[179][177]"e" [175] p$[179][177]"c" [167] 455
  456. 456 [139] p$[178]"e" [167] 9
  457. 457 [139] p$[178]"c" [167] 458
  458. 458 [153][199](147):[153]" sysstr$o not disturb, right$'m updating the disk!"
  459. 459 [153]:[153]:[153]" str$eleting...";n$"wait file":[153]:[153]
  460. 460 [152]15,"s 0:"[170]n$[170]"":[143] ** scratch a file routine **
  461. 461 [141] 367:[139] a[177][178]20 [167] [141] 506:[142]
  462. 462 [137] 82
  463. 463 [143] ** delete a file from disk routine **
  464. 464 [141] 684:[153]"    sysvalnter name of file to be str$eletedwait":[153]
  465. 465 [153]"   (NULL)r if you are here by mistake type":[153]
  466. 466 [153][163]13)[199](5)" val to val(NULL)lenatn(NULL)val wait":[153]
  467. 467 [151]19,1:[133]"sys  ";df$:[151]19,0
  468. 468 [139] df$[178]"e"[176]df$[178]"val"[167] 9
  469. 469 [139] df$[179][177]"e"[176]df$[179][177]"e"[167] 470
  470. 470 [152]15,"scratch 0:"[170]df$[170]"":[143] ** delete a file routine **
  471. 471 [153]:[153]:[153]"  str$eleting.....";df$"wait file"
  472. 472 [141] 367:[139] a[177][178]20 [167] [141] 506
  473. 473 [142]
  474. 474 [143] ** sub menu space bar routine **
  475. 475 [153]:[153]"   sys***** (NULL)(NULL)atnlenvalclosepeekatn(NULL)closeasc(NULL)(NULL)close(NULL)(NULL)peekclose(NULL)val(NULL)(NULL) *****"
  476. 476 [161] k$:[139] k$[179][177][199](32) [167] 476:
  477. 477 [142]
  478. 478 [143] ** find field routine for sub menu **
  479. 479 [153]"load":f[178][171]1:ff$[178]"0"
  480. 480 [153]" (NULL)perate on which field? (give heading)":[153]
  481. 481 [141] 348
  482. 482 f[178]f[170]1
  483. 483 [139] k$[178][200](a$(f,0),[195](k$)) [167] 486
  484. 484 [139] f[179]nf% [167] 482
  485. 485 ff$[178]" sys(NULL)o such field":[153]"load":[153]ff$:[141] 475
  486. 486 [142]
  487. 487 .
  488. 488 [172][172] s[176]t file routine [129] sub menu [172][172]
  489. 489 [141]479:[139]ff$[178]" sys(NULL)o such field"[167] 504
  490. 490 [139] fl%[179]2 [167] 504
  491. 491 [153][199](147):[153]" sys(NULL)orting by  ";a$(f,0)
  492. 492 n%[178]fl%
  493. 493 n%[178](n%[170]2)[173]3
  494. 494 [129] d[178]n%[170]1 [164] n%[172]2
  495. 495 [129] e[178]d [164] fl% [169] n%
  496. 496 [129] r[178]e [164] d [169] [171]n%
  497. 497 [139] a$(f,r)[177]a$(f,r[171]n%) [167] 501
  498. 498 [129] c[178]0 [164] nf%
  499. 499 k$[178]a$(c,r):a$(c,r)[178]a$(c,r[171]n%):a$(c,r[171]n%)[178]k$
  500. 500 [130]:[130]
  501. 501 [130] e
  502. 502 [130]
  503. 503 [139] n%[177]1 [167] 493
  504. 504 [142]
  505. 505 [143] ** main menu space bar routine without option **
  506. 506 [153]:[153]"  sys***** (NULL)(NULL)atnlenvalclosepeekatn(NULL)closeasc(NULL)(NULL)close(NULL)atnright$(NULL)close(NULL)val(NULL)(NULL) *****"
  507. 507 [161] m$:[139] m$[179][177][199](32) [167] 507
  508. 508 [142]
  509. 509 [143] * field heading input validation routine *
  510. 510 [151]198,0:[151]19,1:v$[178]"":[133]" ";v$:[153]
  511. 511 [151]19,0:[139] v$[178]"" [167] 510
  512. 512 [139] [195](v$)[177]18 [167] v$[178][200](v$,18)
  513. 513 [142]
  514. 514 [143] * print star style routine *
  515. 515 [153]"load":[153][163]6)"sys(NULL)val(NULL)vallen(NULL)close(NULL)(NULL)(NULL)(NULL)close(NULL)(NULL)(NULL)(NULL)valclose& len(NULL)(NULL)(NULL)(NULL)(NULL)wait":[153]:[153]
  516. 516 [153]" atn-valxpanded blackwait     right$-valxpanded italicwait":[153]
  517. 517 [153]" peek-valxpanded redsys       mid$-valxpanded italicsys":[153]
  518. 518 [153]" len-valxpanded bluesys      (NULL)-valxpanded italicsys":[153]
  519. 519 [153]" str$-valxpanded clrvioletsys    (NULL)-valxpanded clritalicsys":[153]
  520. 520 [153][199](5)"   val to val(NULL)lenatn(NULL)val waitsys       (NULL)-str$raft    blackwait":[153]
  521. 521 [153]" asc-valxpanded sysyellow    (NULL)-valxpanded italicsys":[153]
  522. 522 [153]" chr$-valxpanded fororangesys    (NULL)-valxpanded foritalicsys":[153]
  523. 523 [153]" left$-valxpanded greensys     (NULL)-valxpanded italicsys":[153]
  524. 524 [153]" (NULL)-str$raft    redsys       (NULL)-str$raft    bluesys":[153]
  525. 525 [161] g$:[139]g$[179]"a"[176]g$[177]"o"[175]g$[179]"x"[176]g$[177]"z"[167]525
  526. 526 ep$[178][199](27)[170][199](53)[170][199](14)[170][199](27)[170][199](114)
  527. 527 ei$[178][199](14)[170][199](27)[170][199](52)[170][199](27)[170][199](114)
  528. 528 [139] g$[178]"a" [167] pr$[178]ep$[170][199](0)
  529. 529 [139] g$[178]"b" [167] pr$[178]ep$[170][199](1)
  530. 530 [139] g$[178]"c" [167] pr$[178]ep$[170][199](2)
  531. 531 [139] g$[178]"d" [167] pr$[178]ep$[170][199](3)
  532. 532 [139] g$[178]"e" [167] 180
  533. 533 [139] g$[178]"f" [167] pr$[178]ep$[170][199](4)
  534. 534 [139] g$[178]"g" [167] pr$[178]ep$[170][199](5)
  535. 535 [139] g$[178]"h" [167] pr$[178]ep$[170][199](6)
  536. 536 [139]g$[178]"i"[167] pr$[178]ei$[170][199](0)
  537. 537 [139]g$[178]"j"[167] pr$[178]ei$[170][199](1)
  538. 538 [139]g$[178]"k"[167] pr$[178]ei$[170][199](2)
  539. 539 [139]g$[178]"l"[167] pr$[178]ei$[170][199](3)
  540. 540 [139]g$[178]"m"[167] pr$[178]ei$[170][199](4)
  541. 541 [139]g$[178]"n"[167] pr$[178]ei$[170][199](5)
  542. 542 [139]g$[178]"o"[167] pr$[178]ei$[170][199](6)
  543. 543 [139]g$[178]"x"[175]sp$[178]"(NULL)(NULL)atn(NULL)"[167]pr$[178][199](15)[170][199](27)[170][199](114)[170][199](1)
  544. 544 [139]g$[178]"y"[175]sp$[178]"(NULL)(NULL)atn(NULL)"[167]pr$[178][199](15)[170][199](27)[170][199](114)[170][199](2)
  545. 545 [139]g$[178]"z"[175]sp$[178]"(NULL)(NULL)atn(NULL)"[167]pr$[178][199](15)[170][199](27)[170][199](114)[170][199](0)
  546. 546 [142]
  547. 547 [137] 515
  548. 548 [143] * select printer routine *
  549. 549 [153]"load":[153]"onsys str$atn(NULL)atnpeekatn(NULL)val 78   *  by  *       len asc (NULL)(NULL)right$(NULL)left$ ";
  550. 550 [153]"    (NULL)atn(NULL) peekatn(NULL)valstr$close* str$right$(NULL)(NULL) * ascright$(NULL)right$(NULL)chr$ (NULL)(NULL)(NULL)(NULL)val(NULL)    "
  551. 551 [153][163]7)"sys(NULL)lease state your printerwait"
  552. 552 [153][163]8)"  lenwait - for openlenpeek(NULL)sys (NULL)rinter"
  553. 553 [153][163]8)"  (NULL)wait - for open(NULL)(NULL)atn(NULL)sys (NULL)len-10len"
  554. 554 [161] v$:[139] v$[179][177]"c" [175] v$[179][177]"s" [167] 554
  555. 555 [139] v$[178]"c" [167] sp$[178]"lenpeek(NULL)"
  556. 556 [139] v$[178]"s" [167] sp$[178]"(NULL)(NULL)atn(NULL)"
  557. 557 [142]
  558. 558 [143] * cbm printer routine *
  559. 559 [153]"load":[153][163]8)"sys(NULL)(NULL)right$(NULL)(NULL)closeatncloseascright$(NULL)valclose(NULL)(NULL)close(NULL)vallen(NULL)(NULL)str$ ?":[153]
  560. 560 [153][163]13)[199](5)"(NULL)ey  ascwait  or  (NULL)wait"
  561. 561 [161] u$:[139] u$[179][177]"f" [175] u$[179][177]"r" [167] 561
  562. 562 [139] u$[178]"f" [167] [141] 565:[137] 380
  563. 563 [139] u$[178]"r" [167] q$[178]"i":[141] 263:[141] 565:[137] 424
  564. 564 [143] * print cbm style routine *
  565. 565 [153]"load":[153][163]6)"sys(NULL)val(NULL)vallen(NULL)close(NULL)(NULL)(NULL)(NULL)close(NULL)(NULL)(NULL)(NULL)val & len(NULL)(NULL)(NULL)(NULL)(NULL)wait":[153]:[153]
  566. 566 [153][163]10)"atn - valxpanded blackwait":[153]
  567. 567 [153][163]10)"peek - valxpanded redsys":[153]
  568. 568 [153][163]10)"len - valxpanded clrpurplesys":[153]
  569. 569 [153][163]10)"str$ - valxpanded greensys":[153]
  570. 570 [153][163]10)"asc - valxpanded bluesys":[153]
  571. 571 [153][163]10)"chr$ - valxpanded sysyellowsys":[153]
  572. 572 [153][163]10)"(NULL) - str$raft redwait":[153]
  573. 573 [153][163]10)"sys(NULL) - str$raft bluewait":[153]
  574. 574 [153][163]10)"sys(NULL) - str$raft blackwait":[153]
  575. 575 [153][163]13)[199](5)" val to val(NULL)lenatn(NULL)val waitstop"
  576. 576 [161] g$:[139]g$[179]"a"[176]g$[177]"g"[175]g$[179]"x"[176]g$[177]"z"[167]576
  577. 577 ce$[178][199](14)[170][199](20)
  578. 578 [139] g$[178]"a" [167] pr$[178]ce$[170][199](0)
  579. 579 [139] g$[178]"b" [167] pr$[178]ce$[170][199](2)
  580. 580 [139] g$[178]"c" [167] pr$[178]ce$[170][199](4)
  581. 581 [139] g$[178]"d" [167] pr$[178]ce$[170][199](5)
  582. 582 [139] g$[178]"e" [167] 180
  583. 583 [139] g$[178]"f" [167] pr$[178]ce$[170][199](6)
  584. 584 [139] g$[178]"g" [167] pr$[178]ce$[170][199](7)
  585. 585 [139]g$[178]"x"[175]sp$[178]"lenpeek(NULL)" [167] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](2)
  586. 586 [139]g$[178]"y"[175]sp$[178]"lenpeek(NULL)" [167] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](6)
  587. 587 [139]g$[178]"z"[175]sp$[178]"lenpeek(NULL)" [167] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](0)
  588. 588 [142]
  589. 589 [137] 565
  590. 590 [153]"load":[153]"sys  (NULL)hich field do you want in addition":[153]
  591. 591 c[178]0:[153]"  to ";a$(c,0)"wait ?":[153]
  592. 592 [153][163]14)"atn - atnll":[153]
  593. 593 [153][163]14)"peek - "a$(c[170]1,0):[153]
  594. 594 [153][163]14)"len - "a$(c[170]2,0):[153]
  595. 595 [153][163]14)"str$ - "a$(c[170]3,0):[153]
  596. 596 [153][163]13)[199](5)" val to val(NULL)lenatn(NULL)val waitsys":[153]
  597. 597 [153][163]10)"(NULL)ake your selection"
  598. 598 [161] o$:[139] o$[179]"a" [176] o$[177]"e" [167] 598
  599. 599 [139] o$[178]"a" [167] 383
  600. 600 [139] o$[178]"b" [167] [141] 605:[137] 180
  601. 601 [139] o$[178]"c" [167] [141] 623:[137] 180
  602. 602 [139] o$[178]"d" [167] [141] 641:[137] 180
  603. 603 [139] o$[178]"e" [137] 180
  604. 604 [143] * print separate fields routine *
  605. 605 [153]"load":[153]:[153]"  sys(NULL)lease do not disturb, right$'m printing!wait"
  606. 606 c[178]1:s[178]1:ss[178]s[170]fl%:[139] ss[177]fl% [167] ss[178]fl%:t[178]sl%
  607. 607 [159] 5,4:[157] 5, pr$:[152]5,[199](17)"              ";n$" file":[152]5
  608. 608 [129] r[178]s [164] ss
  609. 609 [152]5,[199](17);a$(0,0)
  610. 610 [152]5:[152]5,[199](17)" ";a$(0,r)
  611. 611 [152]5
  612. 612 [152]5,[199](17);a$(c,0):[152]5:[152]5,[199](17)" ";a$(c,r):[152]5
  613. 613 [139] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](0) [167] 618
  614. 614 [139] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](1) [167] 618
  615. 615 [139] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](2) [167] 618
  616. 616 [139] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](6) [167] 618
  617. 617 [152]5,"========================================":[137] 619
  618. 618 [152]5,"                            ========================"
  619. 619 [152]5:[130]
  620. 620 [152]5,[199](17)" (NULL)otal number of records in file is"t
  621. 621 [152]5:[152]5,[199](27);[199](64):[143] * reset *
  622. 622 [160] 5:[142]
  623. 623 [153]"load":[153]:[153]"  sys(NULL)lease do not disturb, right$'m printing!wait"
  624. 624 c[178]1:s[178]1:ss[178]s[170]fl%:[139] ss[177]fl% [167] ss[178]fl%:t[178]sl%
  625. 625 [159] 5,4:[157] 5, pr$:[152]5,[199](17)"              ";n$" file":[152]5
  626. 626 [129] r[178]s [164] ss
  627. 627 [152]5,[199](17);a$(0,0)
  628. 628 [152]5:[152]5,[199](17)" ";a$(0,r)
  629. 629 [152]5
  630. 630 [152]5,[199](17);a$(c[170]1,0):[152]5:[152]5,[199](17)" ";a$(c[170]1,r):[152]5
  631. 631 [139] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](0) [167] 636
  632. 632 [139] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](1) [167] 636
  633. 633 [139] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](2) [167] 636
  634. 634 [139] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](6) [167] 636
  635. 635 [152]5,"========================================":[137] 637
  636. 636 [152]5,"                            ========================"
  637. 637 [152]5:[130]
  638. 638 [152]5,[199](17)" (NULL)otal number of records in file is"t
  639. 639 [152]5:[152]5,[199](27);[199](64):[143] * reset *
  640. 640 [160] 5:[142]
  641. 641 [153]"load":[153]:[153]"  sys(NULL)lease do not disturb, right$'m printing!wait"
  642. 642 c[178]1:s[178]1:ss[178]s[170]fl%:[139] ss[177]fl% [167] ss[178]fl%:t[178]sl%
  643. 643 [159] 5,4:[157] 5, pr$:[152]5,[199](17)"              ";n$" file":[152]5
  644. 644 [129] r[178]s [164] ss
  645. 645 [152]5,[199](17);a$(0,0)
  646. 646 [152]5:[152]5,[199](17)" ";a$(0,r)
  647. 647 [152]5
  648. 648 [152]5,[199](17);a$(c[170]2,0):[152]5:[152]5,[199](17)" ";a$(c[170]2,r):[152]5
  649. 649 [139] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](0) [167] 654
  650. 650 [139] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](1) [167] 654
  651. 651 [139] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](2) [167] 654
  652. 652 [139] pr$[178][199](15)[170][199](27)[170][199](114)[170][199](6) [167] 654
  653. 653 [152]5,"========================================":[137] 655
  654. 654 [152]5,"                            ========================"
  655. 655 [152]5:[130]
  656. 656 [152]5,[199](17)" (NULL)otal number of records in file is"t
  657. 657 [152]5:[152]5,[199](27);[199](64):[143] * reset *
  658. 658 [160] 5:[142]
  659. 659 [143] * directory read *
  660. 660 [141] 684:[153]"   (NULL)ou will not lose any loaded file"
  661. 661 [153]:[153][163]8)"** (NULL)ey lenwait to lenontinue **"
  662. 662 [161] j$:[139] j$[179][177]"c" [167] 662
  663. 663 [153]"load":[153]" onsys(NULL)lease do not disturb !"
  664. 664 [159]8,8,8,"#"
  665. 665 t$(0)[178]"del":t$(1)[178]"seq":t$(2)[178]"prg":t$(3)[178]"usr":t$(4)[178]"rel":t$(5)[178]"???"
  666. 666 [153]"        str$etailed str$irectory (NULL)istwait"
  667. 667 [153]"sys str$right$(NULL)(NULL) left$valatnstr$val(NULL):";:[152]15,"u1 8 0 18 0":[152]15,"b-p:8 144"
  668. 668 [129] i[178]1[164]16:[161]#8,a$:[153]a$;:[130]:[153]"waitsys  right$str$:";:[161]#8,a$:[161]#8,a$
  669. 669 [129]i[178]1[164]5:[161]#8,a$:[153]a$;:[130]:[153]
  670. 670 [153]"waitsys ascright$(NULL)val(NULL)atn(NULL)val         (NULL)(NULL)(NULL)val (NULL)right$(NULL)val (NULL)(NULL)'(NULL) (NULL)vallen(NULL)":s[178]1:t[178]18
  671. 671 [152]15,"u1 8 0"t;s:[161]#8,a$:t[178][198](a$[170][199](0)):[161]#8,a$:s[178][198](a$[170][199](0))
  672. 672 [129]i[178]0[164]7:[152]15,"b-p:8"i[172]32[170]2:[161]#8,a$:[139]a$[178]""[167]680
  673. 673 tp[178][198](a$):[161]#8,a$:tk[178][198](a$[170][199](0)):[161]#8,a$:sc[178][198](a$[170][199](0))
  674. 674 a[178]tp[175]15:[139]a[177]4[167]a[178]5
  675. 675 l$[178]"":[129]j[178]1[164]16:[161]#8,a$:l$[178]l$[170][199]([198](a$[170][199](0))):[130]
  676. 676 [152]15,"b-p:8"i[172]32[170]30:[161]#8,a$:sz[178][198](a$[170][199](0))
  677. 677 [153]" "l$""t$(a);:[139](tp[175]128)[178]0[167][153]"cmdcmdcmdcmd*";
  678. 678 [139](tp[175]64)[178]64[167][153]"<cmd";
  679. 679 [153]""[201]("  "[170][196](sz),3)"   "[201]([196](tk),2)"   "[201]([196](sc),2)
  680. 680 [130]:[139]t[179][177]0[167]671
  681. 681 [160]8
  682. 682 [142]
  683. 683 [143] * disk in drive routine *
  684. 684 [153]"load":[153][163]9)"                     wait"
  685. 685 [153][163]9)" (NULL)(NULL)(NULL)closestr$right$(NULL)(NULL)closeright$(NULL)closestr$(NULL)right$(NULL)val & wait"
  686. 686 [153][163]9)"                     waitsys":[153]:[142]
  687. 687 [143] * press space bar routine *
  688. 688 [153]:[153]"   sys***** (NULL)(NULL)atnlenvalclosepeekatn(NULL)closeasc(NULL)(NULL)close(NULL)(NULL)peekclose(NULL)val(NULL)(NULL) *****"
  689. 689 [161] k$:[139] k$[179][177]"c" [175] k$[179][177][199](32) [167] 689
  690. 690 [139] k$[178]"c" [167] [142]
  691. 691 [139] k$[178][199](32) [167] 180
  692. 692 [143] * write protect choice *
  693. 693 [153]"sys     ***** (NULL)(NULL)atnlenval peekatn(NULL)closeasc(NULL)(NULL) (NULL)val(NULL)(NULL) *****":[153]"                   or"
  694. 694 [153]"      (NULL)val(NULL) (NULL)syswait (NULL)(NULL)closelenleft$atn(NULL)chr$valclose(NULL)(NULL)right$(NULL)valclose(NULL)(NULL)(NULL)(NULL)vallen(NULL)":[151]198,0
  695. 695 [161]r$:[139]r$[179][177][199](32)[175]r$[179][177]"p"[167]695
  696. 696 [139]r$[178][199](32)[167][142]
  697. 697 [159]1,0:[159]8,8,8,"#":t[178]18:s[178]1:[151]198,0:[151]19,1
  698. 698 [153]"   val(NULL)(NULL)val(NULL)close(NULL)atn(NULL)valclose(NULL)asccloseascright$(NULL)valclose(NULL)(NULL)close(NULL)left$right$lenleft$close(NULL)(NULL)right$(NULL)val":[153]:[153]"   (NULL)(NULL)(NULL)(NULL)vallen(NULL)closeright$(NULL)close(NULL)(NULL) peekval lenleft$atn(NULL)chr$valstr$"
  699. 699 [153]"sys":[132]1,f$:[160]1:f$[178][200](f$[170]"closeclosecloseclosecloseclosecloseclosecloseclosecloseclosecloseclosecloseclose",16):[151]19,0
  700. 700 [152]15,"u1 8 0"t;s
  701. 701 [141] 719:[161]#8,a$:t2[178][198](a$[170][199](0)):[161]#8,a$:s2[178][198](a$[170][199](0))
  702. 702 [129]x[178]0[164]7:[152]15,"b-p:8"x[172]32[170]5:b$[178]"":[129]i[178]1[164]16:[161]#8,a$:b$[178]b$[170]a$:[130]
  703. 703 [139]b$[179][177]f$[167]710
  704. 704 t2[178]0:[152]15,"b-p:8"x[172]32[170]2:[141] 719
  705. 705 [161]#8,a$:tp[178][198](a$[170][199](0)):[139]tp[178]0[167]x[178]20:[137]710
  706. 706 z[178]tp[175]64:[139]z[178]0[167]tp[178]tp[170]64
  707. 707 [139]z[178]64[167]tp[178]tp[171]64
  708. 708 [152]15,"b-p:8"x[172]32[170]2
  709. 709 [152]8,[199](tp);:x[178]30:[152]15,"u2 8 0"t;s
  710. 710 [130]:[139]x[177]29[167]716
  711. 711 [139]x[177]19[167]716
  712. 712 [139]t2[179][177]0[167]715
  713. 713 [139]t2[178]0[167][153]"load     (NULL)(NULL)(NULL)(NULL)(NULL) ascright$(NULL)valclosestr$(NULL)val(NULL)close(NULL)(NULL)(NULL)closeval(NULL)right$(NULL)(NULL) !":[129]t[178]1[164]3000:[130]t:[137]717
  714. 714 [141] 719:[137] 724
  715. 715 t[178]t2:s[178]s2:[137]700
  716. 716 [153]"load"
  717. 717 [160]8:[153]"(NULL)valatn(NULL)valclosestr$right$(NULL)(NULL)closeright$(NULL)closestr$(NULL)right$(NULL)val &":[153]"lenleft$vallen(NULL)close(NULL)(NULL)(NULL)(NULL)closeatn(NULL)(NULL)val(NULL)atn(NULL)right$(NULL)(NULL)":[141]664
  718. 718 [137] 693
  719. 719 [151]198,0:[132]15,a,a$,a2,a3:[139]a[167]723
  720. 720 [139][194](653)[178]1[167][142]
  721. 721 [161]a$:[139]a$[178]""[167][142]
  722. 722 [139]a$[179][177][199](133)[167][142]
  723. 723 [137] 716
  724. 724 [141] 719:[137] 716
  725.